package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;

/**
 * @desc ImplementTreeEvaObjTargetCycleComRespDto
 * @使用场景
 */
@Data
public class ImplementTreeEvaObjTargetCycleComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @ApiModelProperty("当前树类型编码")
  private String evaObjTypeCode;

  /**
   * 当前树叶子目标周期ID
   */
  @ApiModelProperty("当前树叶子目标周期ID")
  private String preEvaObjTargetCycleId;

  /**
   * 评价对象目标周期ID
   */
  @ApiModelProperty("评价对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 部门目标任务书目标周期ID
   */
  @ApiModelProperty("部门目标任务书目标周期ID")
  private String mLevelEvaObjTargetCycleId;

  /**
   * 部门目标任务书目标周期ID（指标层级1）
   */
  @ApiModelProperty("部门目标任务书目标周期ID（指标层级1）")
  private String fLevelEvaObjTargetCycleId;

  /**
   * OKR责任主体部门目标周期ID
   */
  @ApiModelProperty("OKR责任主体部门目标周期ID")
  private String okrDptEvaObjTargetCycleId;

  /**
   * OKR责任主体个人目标周期ID
   */
  @ApiModelProperty("OKR责任主体个人目标周期ID")
  private String okrPsEvaObjTargetCycleId;

  @ApiModelProperty("被评对象目标周期列表 ")
  List<String> evaObjTargetCycleList = new ArrayList<>();

  /**
   * 虚拟组织下部门ID
   */
  @ApiModelProperty("虚拟组织下部门ID")
  private String deptId;

  /**
   * 虚拟组织成员就职记录ID
   */
  @ApiModelProperty("虚拟组织成员就职记录ID")
  private String virtualOrgInductionRecordId;

  /**
   * 关联目标内容ID
   */
  @ApiModelProperty("关联目标内容ID")
  private String targetCycleContentId;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @ApiModelProperty("关联目标内容类型编码")
  private String targetCycleContentTypeCode;

}
